Consumers of electronic devices are familiar with the problem of learning and maintaining a remote controller for each purchased electronic device. For example, a user may have a remote controller for a television, a remote controller for a DVR, a remote controller for a radio, a remote controller for a CD player, a remote controller for a DVD player, a remote controller for a VCR (video cassette recorder), and a remote controller for one or more light switches.
To alleviate the problem of learning and maintaining a multiplicity of remote controllers for various electronic devices in a home or business setting, universal remote controllers have been developed. A universal remote controller (or simply “universal remote”) is a controller that can be programmed to control multiple electronic devices. However, current universal remotes suffer from a number of drawbacks. For example, in order to program a universal remote, a user must locate and examine a remote control code table, which typically contains codes for each manufacturer and device type. Frequently, a user must try to enter a number of different codes into the universal controller before a match is found.
Another drawback is that some universal remotes do not support the full functionality of a particular device as the original remote controller would have. Furthermore, even if the universal remote did support the full functionality of a particular device, the layout of the buttons (or keys) on the universal remote might not be as intuitive as the original remote controller.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.